linux 字体配置

八月 14, 2025 #font

字体配置中涉及到的几个名称

字体的几个“名字”:别被搞混了

一个字体在系统中可能有多个“名字”,它们分别是:

名称类型实例说明
字体文件名JetBrainsMono-Regular.ttf文件系统中的名字, 不用于配置
字体族名(Family)JetBrains Mono最重要的名字,用于 fc-match 和 Kitty 配置
字体样式名(Style)Regular , Bold , Italic区分粗体、斜体等
完整字体名(Full Name)JetBrains Mono Regular族名 + 样式,一般也不用于配置

用 fc-list 看看实际输出

先安装对应的字体

sudo apt install fonts-jetbrains-mono

使用fc-list 查看

fc-list | grep -i "jetbrains"
fc-list | grep -i "notosansmono"

输出可能类似:

/usr/share/fonts/JetBrainsMono/JetBrainsMono-Regular.ttf: JetBrains Mono:style=Regular
/usr/share/fonts/JetBrainsMono/JetBrainsMono-Bold.ttf: JetBrains Mono:style=Bold

解读:

✅ 所以你应该在 Kitty 中使用 font_family JetBrains Mono,而不是 JetBrainsMono-Regular.ttf

fc-match 用什么名字?用“字体族名”

fc-match "JetBrains Mono"

使用fontconfig工具

apt install fontconfig

方法 1:用 fc-list 提取族名(推荐)

# 列出所有 JetBrains 字体的族名
fc-list : family | grep -i jetbrains

方法 2:用 fc-match 验证是否能匹配

fc-match "JetBrains Mono"

如果返回 .ttf 文件路径,说明名字正确。

方法 3:查看字体详细信息(高级)

使用 fc-query 查看某个字体文件的元数据:

fc-query /usr/share/fonts/JetBrainsMono/JetBrainsMono-Regular.ttf | grep -i family

🚫 常见错误用法(不要这样做)

特殊情况:Nerd Fonts 补丁字体

Nerd Fonts 给字体加了图标支持,通常会修改族名。

例如:

fc-list | grep -i "nerd"

✅ 正确配置:

实用命令速查表

fc-list
# 格式:文件路径: 家族名, 完整名:style=样式
# 1. 列出所有字体族名(只显示 family)
fc-list : family
# 2. 搜索包含 "mono" 的字体族
fc-list : family | grep -i mono
# 3. 搜索 JetBrains 相关字体
fc-list : family | grep -i jetbrains
# 4. 验证某个字体是否可用
fc-match "Fira Code"
fc-match "JetBrains Mono"
# 5. 刷新字体缓存(安装新字体后)
fc-cache -fv
# 6
fc-list : family style

内部元数据名称

fc-scan /usr/share/fonts/truetype/jetbrains-mono/JetBrainsMono-Regular.ttf

fc-match monospace 的含义

monospace 是 fontconfig 定义的逻辑字体分类名

fc-list :spacing=100  # 列出所有等宽字体
fc-list : family spacing | grep -B1 "100"  # 显示家族名和间距属性
graph LR
A[应用程序请求<br>“monospace”字体] --> B[fontconfig 规则引擎]
B --> C{匹配规则库<br>/etc/fonts/conf.d}
C --> D[物理字体文件]
D --> E[返回实际字体路径]
fc-match -s monospace | head -n5
fc-match monospace |head -n1 
# 查看完整的字体属性
fc-query /usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc | grep -E 'family|style'

为什么这样设计?

<!-- 针对中文的 monospace 优化 -->
<alias>
  <family>monospace</family>
  <prefer>
    <family>Noto Sans Mono CJK SC</family>
  </prefer>
</alias>

其他主要的逻辑字体分类名

思源字体

思源黑体,英文名为Source Han Sans,Google 称之为Noto Sans CJK,是一款由Adobe 和Google 共同开发的开源字体家族。它支持简体中文、繁体中文、日文和韩文,并且有多种字重,旨在为多语言环境提供一致的视觉体验。

思源字体和宋体、黑体的区别在于,思源字体是一个字体家族,包含了思源黑体和思源宋体,而宋体和黑体是两种常见的字体类型,各自都有不同的特点和应用场景。

主要区别

具体含义如下:

总而言之,思源黑体/Source Han Sans/Noto Sans CJK 是一款由Adobe 和Google 合作开发的开源字体,以“饮水思源”命名,支持多种语言,具有简洁现代的设计风格,广泛应用于网页设计、印刷品、软件界面等领域。

参考

字体配置